package com.rinzin.service;

import com.rinzin.exception.UserServiceBackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * @BelongsProject:microservice
 * @BelongsPackage:com.rinzin
 * @Author:Rinzin
 * @CreateTime:2020-09-22-21-57
 * @Description:
 **/

/**
 * FeignClient注解---如果有服务id的话，在Eureka注册的服务，可以直接用服务的名称进行调用，
 * 如果没有进行注册的话，就用url属性指定调用的地址
 * @FeignClient("provider") @FeignClient(value = "provider", url = "http://localhost:2003",fallback = GetUserError.class)
 *  fallback = GetUserError.class 该类需要实现对应的接口，实现对应方法
 *  fallbackFactory = UserServiceBackFactory.class 创建一个类去实现FallbackFactory，可以自己去根据异常信息
 *  实现不同的处理逻辑
 *
 */
//@FeignClient(name="provider",fallback = UserServiceBack.class)
@FeignClient(name="provider",fallbackFactory = UserServiceBackFactory.class)
public interface UserService {


    @GetMapping("user/info")
    public String getUser();
}
